# 欢迎来到Python全局变量探秘之旅！本期我们将揭开“全局变量”的神秘面纱，
# 了解它们如何在程序的各个角落自由穿梭，以及如何巧妙地控制它们！
# 准备好了吗？一起开始今天的探险吧！
print("# 本期Python探秘之旅将揭开“全局变量”的神秘面纱！") 

#  在Python中，如果你在函数外面“安家落户”地创建了一个变量，
#  那么它就成为了一个“全局变量”！就像世界的公民，哪里都能访问它。
global_variable = "我是全局变量，到处都能用！"

def example_function():
    print(global_variable) #  在函数内部也能访问全局变量

example_function()
print(global_variable) #  在函数外部也能访问全局变量

#  如果在一个函数内部，你又创建了一个和全局变量同名的变量，
#  那么函数内部的这个变量就变成了“局部变量”，它只在函数内部“有效”。
#  全局变量依然在那里，但函数内部会优先使用局部变量。
x_global = "全局的x"

def another_function():
    x_global = "局部的x" #  这里创建了一个局部变量 x_global
    print("函数内部:", x_global) #  函数内部打印的是局部变量

another_function()
print("函数外部:", x_global) #  函数外部打印的还是全局变量 x_global

#  那么，如何在函数内部“指挥”全局变量呢？ 答案就是使用 "global" 关键字！
#  如果你想在函数内部创建一个全局变量，或者修改一个已有的全局变量，
#  就需要在函数内部用 "global" 关键字声明一下。

def create_global_function():
    global y_global #  声明 y_global 为全局变量
    y_global = "在函数内部创建的全局变量"

create_global_function()
print(y_global) #  函数调用后，全局变量 y_global 就被创建出来了

z_global = "最初的全局变量"

def modify_global_function():
    global z_global #  声明要修改全局变量 z_global
    z_global = "在函数内部被修改后的全局变量"

modify_global_function()
print(z_global) #  全局变量 z_global 的值被函数修改了！

#  Python全局变量探秘之旅到此结束！
#  我们了解了全局变量的特性、局部变量的区别，以及 "global" 关键字的妙用。
#  掌握全局变量，能让你更好地组织和管理代码中的数据！
#  继续深入学习，你会发现Python变量世界更加精彩！下次探险再见！
print("# 恭喜你完成Python全局变量探秘！掌握全局变量，代码世界任你驰骋！") 